Skip to content

[devyejin] WEEK 05 solutions #1838

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 5 commits into
base: main
Choose a base branch
from
Open

[devyejin] WEEK 05 solutions #1838

wants to merge 5 commits into from

Conversation

devyejin
Copy link
Contributor

@devyejin devyejin commented Aug 18, 2025

답안 제출 문제

작성자 체크 리스트

  • Projects의 오른쪽 버튼(▼)을 눌러 확장한 뒤, Week를 현재 주차로 설정해주세요.
  • 문제를 모두 푸시면 프로젝트에서 StatusIn Review로 설정해주세요.
  • 코드 검토자 1분 이상으로부터 승인을 받으셨다면 PR을 병합해주세요.

검토자 체크 리스트

Important

본인 답안 제출 뿐만 아니라 다른 분 PR 하나 이상을 반드시 검토를 해주셔야 합니다!

  • 바로 이전에 올라온 PR에 본인을 코드 리뷰어로 추가해주세요.
  • 본인이 검토해야하는 PR의 답안 코드에 피드백을 주세요.
  • 토요일 전까지 PR을 병합할 수 있도록 승인해주세요.

Copy link
Contributor

@printjin-gmailcom printjin-gmailcom left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

수고하십니다 :)

class Solution:
def maxProfit(self, prices: List[int]) -> int:
n = len(prices)
min_price = prices[0]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

prices가 빈 배열일 경우 prices[0] 접근에서 IndexError 발생 가능 → 입력 검증 필요

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

문제 조건에서 prices 길이가 1이상이라는 문구가 있어서 저런식으로 처리하긴했는데, 그래도 안전하게 검증 로직 넣는게 좋을까요?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

아 제가 조건을 못 봤네요. 이 문제에서는 해당 사항 고려하지 않으셔도 됩니다.

@devyejin devyejin moved this from Solving to Completed in 리트코드 스터디 5기 Aug 24, 2025
@devyejin devyejin moved this from Completed to In Review in 리트코드 스터디 5기 Aug 24, 2025
@seungriyou seungriyou self-requested a review August 24, 2025 12:42

for word in wordDict:
if subs.startswith(word):
if dfs(subs[len(word):]):
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

메모이제이션을 이용한 탑다운 DP로 풀이하신 것으로 보이네요! 코드가 명확하여 이해하기 쉬웠습니다 ㅎㅎㅎ

추가로 이 문제에 DP 뿐만 아니라 #256 문제에서 다뤘던 트라이도 함께 활용한다면 매 단계마다 wordDict 전체를 순회하며 subs.startswith(word)를 하는 부분을 최적화 할 수 있습니다! 맨 처음에 wordDict를 트라이에 넣어두면 순회할 필요 없이 트라이를 따라 내려가며 prefix만 확인할 수 있기 때문인데요, 한 번 이렇게도 풀어보셔도 좋을 것 같습니다~!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: In Review
Development

Successfully merging this pull request may close these issues.

3 participants